1. Field of the Invention
The present invention relates to a method and system for modem pulse dialing in a telecommunication system in general, and in particular a method for modem pulse dialing in a Windows NT 4.0 environment.
2. Description of Related Art
Modem customers in areas without tone dialing require a modem that supports pulse dialing. Pulse dialing consists of sending a series of pulses for each digit dialed. In countries such as Japan, for example, it is common to use a 50 millisecond pulse 10 (FIG. 1) consisting of a 33.5 millisecond part 12 and a 16.5 millisecond part 14. To accomplish this, driver software must be able to start one part of the pulse at time zero and then wait until time one to terminate that part and start the second part. This cycle repeats for each pulse by waiting until the next time zero, and continuing until all pulses have been sent. However, in some operating systems and more particularly in Windows NT 4.0, two obstacles must be overcome to solve this problem. The first is the system clock, which cannot easily be configured to measure in units smaller than ten milliseconds. The second is the system task scheduler, which cannot be configured to start waiting software tasks in units smaller than ten milliseconds.
Therefore, a need exists in operating systems such as Windows NT 4.0 that do not offer an adequate precise timing source to its device drivers, to be equipped to do the type of real-time rapid response timing control to accomplish proper pulse dialing. The method and system of the present invention solves all these problems in a new and unique manner.
The method and system first determines if modem pulse dialing has been requested in a telecommunication system having both a modem and an associated modem driver. Next, when modem pulse dialing is requested, a fast timer is activated by the modem driver in association with a slow timer in the modem by stopping the fast timer, calculating a divisor value to set-up an interrupt period for the pulse dialing and restarting the fast timer utilizing the interrupt period. The fast timer is started and stopped by enabling/disabling timer interrupts. By synchronizing the fast timer and the slow timer to count in millisecond increments with the modem continuously operating utilizing both the slow timer and the fast timer, the timer resolution necessary for completing the modem pulse dialing is produced. The modem releases control to the operating system during inter-digit delay time.